The ideas of reversible computation have been around for some time such as described in a publication by C. H. Bennett entitled "Notes on the History of Reversible Computation," IBM J. Res. Develp. 32, p. 16 (1988). In reversible computation, the energy dissipation required to erase data is avoided by saving the intermediate data until a later time when the computation, or a subset of it, can be run backwards and the data can be dissipationlessly un-computed. Most of the proposed implementations have been impractical. Recently, electronic implementations have been suggested using adiabatic switching and electroid switches as described in a publication by J. S. Hall entitled "An Electroid Switching Model for Reversible Computer Architectures," Proc. Workshop on Physics and Computation, Oct. 1992 (IEEE Comp. Soc. Press, 1993), p. 237.
There is a growing demand for low power, high performance electronics, especially for battery-powered applications. One possible way of addressing this demand is through the use of adiabatic switching techniques combined with reversible computing schemes. In adiabatic switching, the voltage is the same on both sides of a switch before the switch is closed. The most readily apparent advantage of adiabatic switching techniques combined with reversible computing schemes is that the energy consumption per switching operation decreases as the duration of the switching event increases, unlike conventional CMOS circuits, in which the energy per switching event remains essentially constant.